<template>
  <div>
    <van-nav-bar title="欢迎注册" />
    <van-form @submit="onSubmit">
      <van-cell-group inset>
        <van-field v-model="reactiveFrom.username" name="用户名" label="用户名" placeholder="用户名"
          :rules="[{ pattern, message: '请填写用户名' }]" />
        <van-field v-model="reactiveFrom.password" type="password" name="密码" label="密码" placeholder="密码"
          :rules="[{ pattern, message: '请填写密码' }]" />
        <van-field v-model="reactiveFrom.passwordok" type="password" name="确认密码" label="确认密码" placeholder="密码"
          :rules="[{ validator, message: '请确认密码' }]" />
      </van-cell-group>
      <div style="margin: 16px">
        <van-button round block type="primary" native-type="submit" @click="submit">
          提交
        </van-button>
      </div>
    </van-form>
  </div>
</template>

<script setup>
import { reactive, ref } from "vue";
let reactiveFrom = reactive({
  username: "",
  password: "",
  passwordok: "",
});

const validator = (val) => {
  if (val != reactiveFrom.password) {
    return false;
  }
  return true;
};

import { registerApi } from "@/api/api";
import { useRouter } from "vue-router";
let router = new useRouter();
import { showToast } from "vant";

const submit = () => {
  registerApi(reactiveFrom.username, reactiveFrom.password).then((res) => {
    console.log("注册数据", res);
    if (res.data.code == 0) {
      showToast({
        type: "success",
        message: "注册成功",
        duration: 2000,
        onClose() {
          router.push("/login");
        },
      });
    } else {
      showToast({
        type: "fail",
        message: "用户名重复",
        duration: 2000,
      });
    }
  });
};
</script>

<style lang="scss" scoped></style>